Technical Field
Embodiments generally relate to security in computing platforms and/or systems. More particularly, embodiments relate to the automatic pairing of input output (IO) devices with hardware secure elements.
Discussion
Computing systems such as personal computers may run a host operating system (OS) that can be vulnerable to attacks by malware (malicious software). To improve security, a dedicated hardware element (e.g., a “secure element”) may be incorporated into the computing system, wherein the element may boot securely, running only trusted firmware in a hardware environment that is isolated from the OS and other host based software. The secure element may therefore be used to implement security and manageability features in a trusted fashion.
For some usage scenarios, the secure element may interact with other hardware devices on the system. In these cases, therefore, there may be a potential risk of malware compromising the other hardware devices and/or tampering with the communication channel between the secure element and the other hardware devices. In some instances, the communication channel between the secure element and another hardware device may flow through the host OS.
Indeed, many input output (IO) devices, such as a keyboard, mouse, touch screen, printer, etc., may be connected to the system through a USB (Universal Serial Bus, e.g., USB Specification 3.0, Rev. 1.0, Nov. 12, 2008, USB Implementers Forum) or other similar interface. Because of hardware limitations, these USB devices may be directly accessible only by host software such as the OS or BIOS (basic input output system, UEFI/unified extensible firmware interface, etc.), through USB controllers. Accordingly, while the use of dedicated hardware secure elements may be suitable under certain circumstances, there remains considerable room for improvement with regard to IO devices.